草庐IT

Web安全基础 - XSS Labs

全部标签

javascript - 为什么使用 '*' 作为 postMessage 的 targetOrigin 存在安全风险?

当对postMessage()方法的targetOrigin使用通配符时,我很难理解安全问题。您调用postMessage()的窗口是否已经有一个我们要将数据发送到的来源?怎么会有人能够干涉它?使用window.location.origin将targetOrigin设置为窗口的原点是否不好?我理解在接收端检查事件源的重要性(如图here所示),但我似乎无法理解为什么发送端使用通配符作为targetOrigin是不好的当窗口已经有一个特定的原点时。 最佳答案 这本身不是风险。这只是意味着任何人都可以将您的内容嵌入到框架中并阅读您通过

javascript - Openlayers 3 获取谷歌地图基础层?

我已经阅读了一些关于此事的帖子,其中包含指向examples的链接。但是我发现很难理解他们在示例中是如何做到的:vargmap=newgoogle.maps.Map(document.getElementById('gmap'),{disableDefaultUI:true,keyboardShortcuts:false,draggable:false,disableDoubleClickZoom:true,scrollwheel:false,streetViewControl:false});varview=newol.View({//makesuretheviewdoesn'tgo

javascript - 是否可以在 vue-router 中锁定除一条以外的所有路由?安全吗?或者我应该使用另一种方法?

我想做一个在线考试,这个考试有5页,有一个倒计时计时器(120秒),每页有4个问题。120秒后,用户将自动转到下一页,或者他们可以在此之前单击下一步按钮。Laravel5.4和VueJs,用户回答的每个问题都有一个Ajax请求。我想要的是阻止用户看到其他页面。每个页面最多只能显示120秒。用户不应该能够点击后退按钮并查看之前的页面。这可能吗?我想用Vuejs和vue-router创建这个应用程序,但我不知道如何用vue-router实现它,我做了一些研究,但没有得到太多结果!或者也许我不应该使用vue-router,而是使用我自己的简单路由器,例如:$("#page1").show()

javascript - Web 音频 API 获取 <audio> 元素的 AudioBuffer

我有一个音频元素varaudioSrc='https://mfbx9da4.github.io/assets/audio/dope-drum-loop_C_major.wav'varaudio=document.createElement('audio')audio.src=audioSrc我需要AudioBuffer做beatdetection所以我尝试在加载音频时访问缓冲区:audio.oncanplaythrough=()=>{console.info('loaded');varsource=context.createMediaElementSource(audio);sour

javascript - 中文文本使用 Web Speech API 播放一次,但不会播放第二次

所以我正在使用修改后的脚本来尝试播放来自WebSpeechAPI的一些文本。代码原来在这里:ChromeSpeechSynthesiswithlongertexts这是我修改后的变体:functiongoogleSpeech(text,rate){if(!reading){speechSynthesis.cancel();if(timer){clearInterval(timer);}letmsg=newSpeechSynthesisUtterance();letvoices=window.speechSynthesis.getVoices();msg.voice=voices[63]

c# - 通过 Crystal Web 服务以编程方式在 Crystal 服务器上设置 Crystal Report 的数据源

如何更改在Crystal服务器内运行的Crystal报表在运行时使用的数据源(数据库服务器、用户名、密码)?我有一个Crystal服务器并上传了具有设置数据源的报告(SQLServer2005托管在服务器A、用户A、密码A上)。我想安排报告使用来self编写的c#客户端的不同数据源(托管在SERVERB、userB、passwordB上的SQLServer2005)运行。C#客户端可以使用CrystalWeb服务提供的对象安排报告在服务器内运行。我一直在使用以下3个对象:BIPlatformInfoObjectCrystalReport可以找到有关这些对象的文档HERE

asp.net - 从 ASP.Net Web 服务 json 输出中删除 "d"对象

我有一些javascript代码可以处理来自使用框架2.0构建的asp.netWeb服务的json输出。现在我需要支持从框架3.5Web服务返回的数据。我的javascript代码假定一个对象列表作为返回值,这在2.0中工作正常。然而在框架3.5中,列表被包装在一个“d”对象中。有什么办法可以删除“d”包装器并只返回列表吗?我更愿意在服务器端解决这个问题 最佳答案 您不能配置3.5+服务不返回.d。它也在那里很好,因为它可以防止当外部JSON实体是数组时存在的棘手的JSON劫持场景。ASP.NETAJAX的客户端代理会自动对您隐藏.

javascript - 哪个更适合 jQuery.ajax 调用? .Net Web 服务还是 .ashx?

我最近一直在练习jQuery.ajax()。我已经开始学习调用.Net网络服务qithjQuery.ajax()。现在我正在考虑是否要仅jQuery.ajax()调用服务器上的某些服务方法;使用.NetWeb服务是否仍然有意义,或者我应该改用.ashx处理程序?谢谢! 最佳答案 来自theASP.NETforums的两句话:Unlessit'sanextremelyhighloadsituation,you'llfindthatallthreeperformnearlyidentically.Theperformanceofyour

javascript - 执行以下操作是否 100% 安全?

执行以下操作是否100%安全?varuntrusted_input_from_3rd_party='alert("xss")';document.getElementsByTagName('body')[0].appendChild(document.createTextNode(untrusted_input_from_3rd_party));考虑到第三方可以输入任何东西(HTML、CSS等),如果我通过createTextNode传递然后添加到主场? 最佳答案 这是防止XSS的好方法。通过createTextNode进行的DOM

javascript - 使用 JavaScript Web Workers 的并行编程/同步

是否有任何同步原语,如障碍、信号量、锁、监视器,...JavaScript/WebWorkers或者是否有一些可用的库使我能够使用这些东西(我正在考虑Java中的java.util.concurrent之类的东西)?Worker是否具有将它们与线程区分开来的晦涩属性(例如,它们可以与主线程共享内存)?是否有某种限制可以产生多少worker(例如,出于安全原因或其他原因......)?我需要特别注意什么吗? 最佳答案 网络worker没有共享内存的概念;复制线程之间传递的所有消息。话虽如此,您没有屏障、信号量、锁和监视器,因为您在网络